﻿using Sasa.QualityTools.CodeAnalysis.Core.Views;
using System;
using System.Collections.Generic;
using System.Diagnostics;

namespace Sasa.QualityTools.CodeAnalysis.Core.VisualStudio
{
    public interface IIde
    {
        ISolution Solution { get; }

        IEnumerable<IProjectItem> SelectedProjectItems { get; }

        FileVersionInfo VersionInfo { get; }


        void NotifyInfo(string format, params object[] args);

        void NotifyWarn(string format, params object[] args);

        void ShowError();

        ICodeInspectionResultView FindCodeInspectionResultView();

        ICodeMetricsCalculationResultView FindCodeMetricsCalculationResultView();

        IRuleDetailView FindRuleDetailView();

        bool Checkout(string path);

        void Navigate(string url);
    }
}
